// 初始化应用
import { toRefs,onMounted,reactive, getCurrentInstance} from 'vue'

export default function (){
    //初始化应用,第一次需要初始化应用至本地
    const { proxy } = getCurrentInstance();
    // let appCache = proxy.$utils.cache.app.get()||null
    let appListData = reactive({
        app:[]
    })
    let fileList = reactive({
        file:[]
    })
    
    //初始化函数
    const init = () => {
        console.log('刷新了');
        let appCache = proxy.$utils.cache.app.get()||null
        let fileCache = proxy.$utils.cache.file.get()||null
        if(appCache){
            if(JSON.parse(appCache).length===proxy.$config.app.length)
            {
                appListData.app = JSON.parse(appCache)
            }else{
                proxy.$utils.cache.app.set(proxy.$config.app)
                appListData.app = proxy.$config.app
            }
        }else{
            //不存在，则需要组装保存到本地
            proxy.$utils.cache.app.set(proxy.$config.app)
            appListData.app = proxy.$config.app
        }

        if(fileCache){
            if(JSON.parse(fileCache).length===proxy.$config.file.length)
            {
                fileList.file = JSON.parse(fileCache)
            }else{
                proxy.$utils.cache.file.set(JSON.stringify(proxy.$config.file))
                fileList.file = proxy.$config.file
            }
        }else{
            let newArr = proxy.$config.file
            newArr.forEach(item => {
                if(item.id===1001){
                    item.child=proxy.$config.app
                }else{
                    item.child=[]
                }
            });
            proxy.$utils.cache.file.set(JSON.stringify(newArr))
            fileList.file = newArr
        }
    }
    init()

    onMounted(() => {
       // init()
        console.log(fileList.file);
    })


    return {
        ...toRefs(appListData),
        ...toRefs(fileList),
        init
    }
    
}